Network synchronization has gained increasing importance in telecommunications throughout the last thirty years. There are many examples where network synchronization is required to guarantee quality of service. The introduction of Ethernet networks and the growing number of networks which combine packet and circuit switched architectures have introduced new problems and new technical challenges concerning synchronization quality.
Network synchronization is a generic concept that represents a way of distributing common time and frequency references to all the nodes of a network, in order to align their respective time and frequency scales. The effect of poor synchronization in a telecommunications network has a direct influence on the provided services. Digital switching equipment, for example, must be synchronized to avoid clock slips. The effect of these clock slips on the network traffic is dependent on the application; they have often little effect on plain voice services but have major impact on circuit data services. Synchronization in Time Division Multiplexing (TDM) networks is implemented distributing a reference timing signal which is traceable to a Primary Reference Clock using the physical layer as the carrier.
In order to distribute the timing over a packet network, packet based methods have been developed. In these cases the timing information is extracted from data packets. The packet delay variation introduced by the packet network is often a critical aspect which influences the quality of communication. In UMTS Terrestrial Radio Access Networks (UTRAN) where the architecture is based on the Internet Protocol (IP), the distribution of the synchronization function is performed e.g. by extracting the required synchronization information from the IP packets.
There are three main approaches known in synchronization distribution via packet based methods: the filling jitter buffer method, the periodic packet transmission method and the delay packet fitting method.
The filling jitter buffer method is based on the construction of a software buffer filled by incoming packets that are received at the server dispatching frequency and emptied at the receiving node clock frequency. Every n samples, the average dimension of the buffer is calculated. If the average dimension is above or below the buffer boundaries, the receiving node clock is corrected accordingly.
The periodic packet transmission method is based on a periodic packet transmission between the server and the client node. From this a priori known periodicity it is possible to calculate the frequency drift and the time offset of the client node with respect to the server by measuring the time delay experienced at the client at each packet arrival.
The filling jitter buffer method and the periodic packet transmission method are based on the analysis of the packet arriving frequency. This makes them highly sensitive to packet loss. In fact the loss of packets makes the buffer shorter or doubles the interleaving time between one packet and the following, leading to a wrong frequency correction. Highly controlled networks are therefore required. It must be also noted that accuracy is proportional to observation time.
The delay packet fitting method relies on time differences measured between a timeserver and a client. A network protocol is used to carry timestamps in order to compare the local oscillator frequency to a precise reference clock. The Network Time Protocol (NTP) will be used as an example for distributing timekeeping among a set of distributed time servers and clients. The NTP is not a requirement for the delay packet fitting method but any other equivalent protocol could be used as well.
The NTP is described in the Request for Comments (RFC) 1305 of the Internet Engineering Task Force (IETF).
In the NTP a timestamp message is sent from the client to the timeserver. When sending the message, the client inserts a time t1 in the message. The timeserver receives the message and adds the local time t2 to the message. The message is sent back at time t3 and is received by the client again at t4. The message comprises these timestamps. In this way, the timeserver does not need to keep track of all nodes for synchronization.
The client collects a suitable number of packets, calculates the delays Δt43=t4-t3, and, in case of round-trip measurements, Δt21=t2-t1, and then from either of these delays it is able to calculate the drift and offset of the clock. From the measured delay values a graph of delay Δt vs time t can be derived. The drift and offset of the clock is calculated from a time difference line fitted to a number of delays values. There are many methods which can be used to obtain a straight line from the measured delays. One of them is the least squares algorithm which has a relatively long convergence time. Another is the minimum delay algorithm which may have a shorter convergence time. A combination of the least squares algorithm and the minimum delay algorithm can also be used.
In the case of the least squares algorithm acceptable frequency predictions are possible only after a long observation period: if high accuracy is required a long convergence time is expected. The convergence time depends on the time difference of the measured packet delays. The minimum delay algorithm makes use of two minimum delay values received in two moments, one far away in time from the other. The time difference line is then determined by these two points. Of course the drawback of this method is that its accuracy depends on the quality of the two points used to get the time-difference line.
All the methods described above have a common disadvantage. They are difficult to manage and they require high accuracy measurements which are not always possible in packet based networks. High network load or other disturbances may influence negatively the accuracy of the described methods.